package de.cachaca.lildancefreak;

import org.junit.Assert;
import org.junit.Test;

import de.cachaca.lildancefreak.pierre.UtilPierre;
import de.cachaca.lildancefreak.valerie.UtilValerie;

public class UtilTest {
	
	//UtilPierre util = new UtilPierre();	 	
	UtilValerie util = new UtilValerie();
//	UtilValeriePierresKommentar util = new UtilValeriePierresKommentar();
	
	@Test
	public void testReverseCharArray() {
		Assert.assertEquals("erreiP", new String(util.reverse("Pierre".toCharArray())));
	}
	
	@Test
	public void testReverseString() {
		Assert.assertEquals("erreiP", util.reverse("Pierre"));
	}
	
	@Test
	public void testEinmalEins() {
		int[][] einmalEinsMatrix = util.createKleinesEinmalEinsMatrix();
		
		Assert.assertEquals(0, einmalEinsMatrix[0][5]);
		Assert.assertEquals(18, einmalEinsMatrix[3][6]);
		Assert.assertEquals(18, einmalEinsMatrix[6][3]);
		Assert.assertEquals(81, einmalEinsMatrix[9][9]);
		Assert.assertEquals(100, einmalEinsMatrix[10][10]);
	}

	/**
	 * http://de.wikipedia.org/wiki/Palindrom
	 */
	@Test
	public void testPalindrom() {
		Assert.assertFalse(util.isPalindrom("pierre".toCharArray()));
		Assert.assertTrue(util.isPalindrom("regallager".toCharArray()));
		Assert.assertTrue(util.isPalindrom("einnegermitgazellezagtimregennie".toCharArray()));
	}

	
}
